From 6697d5c6def72c8a4f4fa2b29ccb0afede90ca38 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Sun, 19 Feb 2012 16:43:33 +0100 Subject: [PATCH] x11: Fix first call to _gdk_x11_keymap_key_is_modifier() _gdk_x11_keymap_key_is_modifier() never tries to set min/max_keycode if they haven't been set before, meaning that until another function sets those, all the keys will be seen as non-modifiers. This causes GdkKeyEvents to be wrongly tagged with "->is_modifier = 0" when in actual fact the key is a modifier. This fixes keyboard shortcuts captured with GtkCellRendererAccel in "raw" mode thinking a modifier without any actual keys is a valid shortcut. https://bugzilla.gnome.org/show_bug.cgi?id=670400 --- gdk/x11/gdkkeys-x11.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index a2c5e6eb2b..c2e5e96ef2 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -1490,6 +1490,7 @@ _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap); gint i; + update_keyrange (keymap_x11); if (keycode < keymap_x11->min_keycode || keycode > keymap_x11->max_keycode) return FALSE; -- 2.30.2